Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: move toolkit to monorepo structure #4342

Merged
merged 35 commits into from
Feb 6, 2024

Conversation

hayemaxi
Copy link
Contributor

@hayemaxi hayemaxi commented Jan 29, 2024

These commits restructure our project into a monorepo. Using npm workspaces. The original toolkit extension code now lives under packages/toolkit/. Additional extensions and common modules will go under the packages/ folder. From this point on, you will need to be more specific with how you run npm scripts. I have added passthroughs for many of the npm scripts in the root folder, e.g. npm run compile and npm run test. But other lesser used commands may need to be accessed by first going to the subproject directory. Additionally, to run VSCode run and debug configs, you will need to set the subproject folder as your root folder in VSCode (or add it as root folder).

Consult https://github.com/aws/aws-toolkit-vscode/blob/21c66e259c88f8c0ca54f8aaff010c301668c683/docs/ARCHITECTURE.md#monorepo-structure for more info on this change.

Remaining work items:

  • Get VSCode debugging configurations to work
  • Fix Github Action-based CI entry points.
  • Ensure coverage works properly
  • Merge conflicts :(
  • (Required after merge?) Fix packaging CI
  • Documentation
    • Update references
    • Explain new structure/current limitations/future plans

License

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@hayemaxi

This comment was marked as outdated.

@hayemaxi
Copy link
Contributor Author

hayemaxi commented Jan 30, 2024

/runIntegrationTests

@hayemaxi hayemaxi force-pushed the restructure3 branch 2 times, most recently from 90dc07d to c83b47b Compare January 30, 2024 15:34
@hayemaxi hayemaxi force-pushed the restructure3 branch 3 times, most recently from a906f33 to 084fef2 Compare January 30, 2024 16:03
@hayemaxi hayemaxi force-pushed the restructure3 branch 2 times, most recently from 16b28e1 to 4b0ff9f Compare January 31, 2024 19:40
@hayemaxi hayemaxi force-pushed the restructure3 branch 2 times, most recently from 9adfaf5 to 736cb47 Compare February 5, 2024 17:36
@@ -26,7 +26,7 @@ import { getTestWindow, resetTestWindow } from './shared/vscode/window'
import { mapTestErrors, normalizeError, setRunnableTimeout } from './setupUtil'
import { TelemetryDebounceInfo } from '../shared/vscode/commands2'

const testReportDir = join(__dirname, '../../../.test-reports')
const testReportDir = join(__dirname, '../../../../../.test-reports') // Root project, not subproject
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Future: should concepts like globalSetup.test.ts should be shared ? They solve lots of edge-cases and copy-pasting that across the subprojects adds quality risk.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes there should be a shared test setup function/library in a commons folder. Will document.

@hayemaxi hayemaxi marked this pull request as ready for review February 5, 2024 21:29
@hayemaxi hayemaxi requested review from a team as code owners February 5, 2024 21:29
@justinmk3
Copy link
Contributor

/runintegrationtests

@hayemaxi hayemaxi merged commit 06d3fff into aws:master Feb 6, 2024
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants